#include "security_pkcs11.h"


static const CLR_RT_MethodHandler method_lookup[] =
{
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_CryptokiObject::get_Size___I4,
    NULL,
    NULL,
    NULL,
    NULL,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_CryptokiObject::CopyInternal___MicrosoftSPOTCryptokiCryptokiObject__SZARRAY_MicrosoftSPOTCryptokiCryptokiAttribute,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_CryptokiObject::GetAttributeValues___BOOLEAN__BYREF_SZARRAY_MicrosoftSPOTCryptokiCryptokiAttribute,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_CryptokiObject::SetAttributeValues___BOOLEAN__SZARRAY_MicrosoftSPOTCryptokiCryptokiAttribute,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_CryptokiObject::Destroy___VOID,
    NULL,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_CryptokiObject::CreateObjectInternal___STATIC__MicrosoftSPOTCryptokiCryptokiObject__MicrosoftSPOTCryptokiSession__SZARRAY_MicrosoftSPOTCryptokiCryptokiAttribute,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    Library_security_pkcs11_native_System_Security_Cryptography_CryptoKey::DeriveKeyInternal___SystemSecurityCryptographyCryptoKey__MicrosoftSPOTCryptokiMechanism__SZARRAY_MicrosoftSPOTCryptokiCryptokiAttribute,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    Library_security_pkcs11_native_System_Security_Cryptography_CryptoKey::GenerateKeyInternal___STATIC__SystemSecurityCryptographyCryptoKey__MicrosoftSPOTCryptokiSession__MicrosoftSPOTCryptokiMechanism__SZARRAY_MicrosoftSPOTCryptokiCryptokiAttribute,
    Library_security_pkcs11_native_System_Security_Cryptography_CryptoKey::GenerateKeyPairInternal___STATIC__SystemSecurityCryptographyCryptoKey__MicrosoftSPOTCryptokiSession__MicrosoftSPOTCryptokiMechanism__SZARRAY_MicrosoftSPOTCryptokiCryptokiAttribute__SZARRAY_MicrosoftSPOTCryptokiCryptokiAttribute,
    Library_security_pkcs11_native_System_Security_Cryptography_CryptoKey::WrapKey___STATIC__SZARRAY_U1__MicrosoftSPOTCryptokiSession__MicrosoftSPOTCryptokiMechanism__SystemSecurityCryptographyCryptoKey__SystemSecurityCryptographyCryptoKey,
    Library_security_pkcs11_native_System_Security_Cryptography_CryptoKey::UnwrapKeyInternal___STATIC__SystemSecurityCryptographyCryptoKey__MicrosoftSPOTCryptokiSession__MicrosoftSPOTCryptokiMechanism__SystemSecurityCryptographyCryptoKey__SZARRAY_U1__SZARRAY_MicrosoftSPOTCryptokiCryptokiAttribute,
    NULL,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_Cryptoki::_cctor___STATIC__VOID,
    NULL,
    NULL,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_Cryptoki::GetSlotsInternal___STATIC__SZARRAY_MicrosoftSPOTCryptokiSlot,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_Cryptoki::FindSlots___STATIC__SZARRAY_MicrosoftSPOTCryptokiSlot__STRING__SZARRAY_MicrosoftSPOTCryptokiMechanism,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_CryptokiDigest::Init___VOID__MicrosoftSPOTCryptokiMechanism,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_CryptokiDigest::DigestKeyInternal___VOID__SystemSecurityCryptographyCryptoKey,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_CryptokiDigest::DigestInternal___SZARRAY_U1__SZARRAY_U1__I4__I4,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_CryptokiDigest::DigestUpdateInternal___VOID__SZARRAY_U1__I4__I4,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_CryptokiDigest::DigestFinalInternal___SZARRAY_U1,
    NULL,
    NULL,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_CryptokiRNG::GenerateRandom___VOID__SZARRAY_U1__I4__I4__BOOLEAN,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_CryptokiRNG::SeedRandom___VOID__SZARRAY_U1,
    NULL,
    NULL,
    NULL,
    NULL,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_CryptokiSign::SignInit___VOID__MicrosoftSPOTCryptokiSession__MicrosoftSPOTCryptokiMechanism__SystemSecurityCryptographyCryptoKey,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_CryptokiSign::SignInternal___SZARRAY_U1__SZARRAY_U1__I4__I4,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_CryptokiSign::SignUpdateInternal___VOID__SZARRAY_U1__I4__I4,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_CryptokiSign::SignFinalInternal___SZARRAY_U1,
    NULL,
    NULL,
    NULL,
    NULL,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_CryptokiVerify::VerifyInit___VOID__MicrosoftSPOTCryptokiSession__MicrosoftSPOTCryptokiMechanism__SystemSecurityCryptographyCryptoKey,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_CryptokiVerify::VerifyInternal___BOOLEAN__SZARRAY_U1__I4__I4__SZARRAY_U1__I4__I4,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_CryptokiVerify::VerifyUpdateInternal___VOID__SZARRAY_U1__I4__I4,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_CryptokiVerify::VerifyFinalInternal___BOOLEAN__SZARRAY_U1__I4__I4,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_Decryptor::DecryptInit___VOID__MicrosoftSPOTCryptokiSession__MicrosoftSPOTCryptokiMechanism__SystemSecurityCryptographyCryptoKey,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_Decryptor::TransformBlockInternal___I4__SZARRAY_U1__I4__I4__SZARRAY_U1__I4,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_Decryptor::TransformFinalBlockInternal___SZARRAY_U1__SZARRAY_U1__I4__I4,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_Encryptor::EncryptInit___VOID__MicrosoftSPOTCryptokiSession__MicrosoftSPOTCryptokiMechanism__SystemSecurityCryptographyCryptoKey,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_Encryptor::TransformBlockInternal___I4__SZARRAY_U1__I4__I4__SZARRAY_U1__I4,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_Encryptor::TransformFinalBlockInternal___SZARRAY_U1__SZARRAY_U1__I4__I4,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_FindObjectEnum::FindObjectsInit___VOID__SZARRAY_MicrosoftSPOTCryptokiCryptokiAttribute,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_FindObjectEnum::FindObjects___SZARRAY_MicrosoftSPOTCryptokiCryptokiObject__I4,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_FindObjectEnum::FindObjectsFinal___VOID,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_FindObjectEnum::get_Count___I4,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_Session::InitSession___VOID__STRING__SZARRAY_MicrosoftSPOTCryptokiMechanismType,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_Session::Login___BOOLEAN__MicrosoftSPOTCryptokiSessionUserType__STRING,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_Session::Logout___BOOLEAN,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_Session::GetSessionInfo___VOID__BYREF_MicrosoftSPOTCryptokiSessionSessionInfo,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_Session::InitializePin___BOOLEAN__STRING,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_Session::SetPin___BOOLEAN__STRING__STRING,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_Session::Close___VOID,
    NULL,
    NULL,
    NULL,
    NULL,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_Slot::GetSlotInfoInternal___VOID__MicrosoftSPOTCryptokiSlotSlotInfo,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_Slot::GetTokenInfo___VOID__BYREF_MicrosoftSPOTCryptokiTokenInfo,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_Slot::get_SupportedMechanisms___SZARRAY_MicrosoftSPOTCryptokiMechanismType,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_Slot::GetMechanismInfo___VOID__MicrosoftSPOTCryptokiMechanismType__BYREF_MicrosoftSPOTCryptokiMechanismInfo,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_Slot::OpenSession___MicrosoftSPOTCryptokiSession__MicrosoftSPOTCryptokiSessionSessionFlag,
    Library_security_pkcs11_native_Microsoft_SPOT_Cryptoki_Slot::InitializeToken___VOID__STRING__STRING,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
};

const CLR_RT_NativeAssemblyData g_CLR_AssemblyNative_Microsoft_SPOT_Security_PKCS11 =
{
    "Microsoft.SPOT.Security.PKCS11", 
    0xA73BFE5E,
    method_lookup
};

